wpt: Use Webdriver for all WPT runs #56920
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All other browsers use a single configuration for their browser invocations on WPT. Servo historically had two: servo and servodriver. Now that we run WPT on Servo GitHub CI with Webdriver using the servodriver, we can align our configuration with theirs.
To do so, we drop most of the custom implementation. The existing WPT configuration for the Servo binary duplicates some work in the executor that the browser configuration does instead. Therefore, we now configure preferences and such in the browser configuration rather than the executor.
We also use the existing implementation for the servodriver configuration for the servo browser. The reason that we don't switch to servodriver always is that on wpt.fyi we use the Servo product and that's the one that also daily runs. Since we don't run servodriver externally and it isn't intended either, I think it's better to configure Servo probably.
This does mean that in a follow-up PR we can remove the full servodriver WPT configuration. However, to make sure the existing setup works, we do that first and delete the servodriver WPT configuration once we are confident everything is stable.
All in all, this ensures that both on local, Servo GitHub CI and on wpt.fyi we all use the exact same configuration. I tested this locally by running the following test:
This does times out with the servo binary and works with the servodriver binary.
Fixes #40751
Reviewed in servo/servo#41511